#include "pch.h"
#include "00.Test.RHI.UI.Types.h"

#include "Xin.Core/Utils/FileInfo.h"

#include "Xin.Core/Platform/Windows/WindowsPrivate.h"
#include <shlobj.h>
#include <shellapi.h>

void InitialWindow_Atlas(UWindow & Window)
{
	FResourceTableRef GlobalResourceSheet = MakeRefer<FResourceTable>();

	GlobalResourceSheet->Resources.AddRange(Themes::Default::LoadDefaultThemesResources());

	Window.Title = u8"Samples 00"T;
	Window.WindowShowPosition = EWindowShowPosition::ScreenCenter;

	static UWindow PopupWindow;
	PopupWindow.Title = u8"Popup Window"T;
	PopupWindow.Owner = &Window;
	PopupWindow.WindowStyle = EWindowStyle::Normal;

	PopupWindow.BorderStroke = Brushs::IndianRed;

	PopupWindow.Size = { 1280, 720 };
	PopupWindow.FrameThickness = 5;
	PopupWindow.BorderThickness = 2;
	PopupWindow.HitInside = EHitResult::Caption;

	PopupWindow.ToolTip = u8"测试一下"T;
	PopupWindow[FToolTip::PlacementProperty()] = EPopupPosition::Cursor;

	Window.ResourceTable.Tables.Add(GlobalResourceSheet);

	PopupWindow.MouseDown += [&](const FMouseButtonEventArgs & Args) { /*PopupWindow.Close();*/ };
	//PopupWindow.Content = u8"这是一个弹出窗口"T;
	PopupWindow.ResourceTable.Tables.Add(GlobalResourceSheet);

	UButtonRef PopupCloseButton;
	PopupWindow.Content = StackPanel(
		{
			TextBlock(u8"可爱的文字 in TextBlock AA"T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { FDimen::Percent90, FDimen::Auto } } }),
			TextBlock(u8"可爱的文字 in TextBlock BB 靐𰻞."T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { FDimen::Percent50, FDimen::Auto } } }),
			Button(u8"HideWindow"T, [&](const auto &) { PopupWindow.Hide(); }, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near }, { UElement::ToolTipProperty(), u8"Hide This Window."T } }),
			Button(u8"CloseWindow."T, [&](const auto &) { PopupWindow.Close(); }, 
				{
					{ UElement::HorizontalAlignmentProperty(), EElementAlignment::Near },
				{ UElement::ToolTipProperty(), Image(u8"../../Data/Cat.jpg"V) }
				}),
		Button(u8"Minimum"T, nullptr, { { UElement::HitInsideProperty(), EHitResult::Minimun } }),
		Button(u8"Maximum"T, nullptr, { { UElement::HitInsideProperty(), EHitResult::Maximum } }),
		Button(u8"Close"T,nullptr, { { UElement::HitInsideProperty(), EHitResult::Close } }),
		},
		{
			{ UStackPanel::OrientationProperty(), EOrientation::Vertical },
		{ UElement::SizeProperty(), FDimen2 { FDimen::Percent100, FDimen::Percent100 } }
		});
		//PopupCloseButton->ChromeComponent = EChromeComponent::Caption;

		Window.Size = { 1280, 720 };

		FStringV PathGithub = u8"M 0 520.886c 0 -69.368 13.51 -135.697 40.498 -199.02 26.987 -63.323 63.322 -117.826 109.006 -163.51 45.65 -45.65 100.154 -81.985 163.51 -109.006 A 502.289 502.289 0 0 1 512 8.92c69.335 0 135.663 13.477 198.986 40.497 63.356 26.988 117.86 63.323 163.51 109.007 45.684 45.65 82.02 100.154 109.006 163.51A502.289 502.289 0 0 1 1024 520.852c0 111.318-32.504 211.472-97.511 300.494-64.975 88.989-148.48 150.825-250.484 185.476-5.351 0-9.348-0.99-11.99-2.973-2.676-1.982-4.196-3.997-4.526-6.012a59.458 59.458 0 0 1-0.495-8.984 7.663 7.663 0 0 1-0.991-3.006v-128.99c0-40.63-14.336-75.314-43.008-103.986 76.667-13.345 134.011-41.819 171.999-85.487 37.987-43.669 57.013-96.52 57.013-158.522 0-58.005-18.663-108.346-56.022-150.99 13.345-42.678 11-87.668-6.97-135.003-18.697-1.322-39.011 1.85-61.01 9.513-22 7.663-38.318 14.831-49.02 21.47-10.637 6.673-20.316 13.016-28.97 19.027-38.68-10.669-81.854-16.02-129.486-16.02-47.7 0-90.509 5.351-128.529 16.02-7.333-5.35-15.855-11.164-25.5-17.507-9.68-6.342-26.493-14.005-50.507-22.99-23.982-9.018-45.65-12.85-65.008-11.495-18.663 47.996-20.645 93.646-5.979 136.984-36.665 42.678-54.998 92.986-54.998 150.99 0 62.002 18.663 114.689 55.99 157.994 37.326 43.339 94.67 72.01 171.998 86.016a142.303 142.303 0 0 0-39.969 70.029c-56.683 13.972-96.355 3.963-119.015-30.06-42.017-61.308-79.674-83.307-113.003-65.965-4.69 4.657-3.997 9.48 1.982 14.501 6.012 4.988 14.996 11.66 27.02 19.985 11.99 8.357 20.976 17.507 26.987 27.515 0.661 1.322 2.51 6.177 5.517 14.502a831.917 831.917 0 0 0 8.985 23.981c2.973 7.663 8.654 16.186 17.011 25.5 8.324 9.349 18.003 17.178 29.003 23.52 11 6.309 26.161 11 45.485 14.006 19.324 2.972 41.323 3.138 65.998 0.495v100.484c0 0.991-0.165 2.643-0.495 5.021-0.33 2.312-0.991 3.964-1.982 4.955-0.991 1.024-2.345 2.015-4.03 3.039a12.52 12.52 0 0 1-6.474 1.486c-2.676 0-6.012-0.33-10.009-0.99-101.343-35.345-183.825-97.182-247.51-185.51C31.842 731.037 0 631.577 0 520.92z";
		FStringV PathRefresh = u8"M71.037275 589.62282 343.25474 771.449571 293.661553 848.937992C354.738377 888.720061 426.716444 912.090533 504.085399 912.090533 673.24879 912.090533 817.384122 802.032783 874.652978 647.070874 894.693344 592.803593 926.172549 579.587703 953.425655 587.367905 917.541154 798.956542 733.862684 960.235198 512.059733 960.235198 291.033308 960.235198 107.832701 800.106399 71.037275 589.62282ZM954.396313 443.142974 680.356997 244.277431 723.842501 171.478038C663.527271 133.726886 593.027591 111.59587 517.361022 111.59587 343.971534 111.59587 196.745027 225.775185 141.641486 385.202123 131.800502 402.718777 103.188473 416.890393 75.382838 412.395497 120.749927 212.917692 298.843376 63.884268 512.059733 63.884268 736.087733 63.884268 921.169924 228.418363 954.396313 443.142974Z"V;
		FStringV PathOfficial = u8"M657.066667 562.133333a32 32 0 0 0-43.733334 11.733334l-100.266666 173.866666-100.266667-173.866666a32 32 0 0 0-43.733333-11.733334 32 32 0 0 0-11.733334 43.733334l128 221.866666h55.466667l128-221.866666a32 32 0 0 0-11.733333-43.733334z M777.6 1024H248.533333a136.533333 136.533333 0 0 1-86.4-30.933333 140.8 140.8 0 0 1-48-78.933334L4.266667 402.133333c-7.466667-34.133333 5.333333-67.2 33.066666-87.466666a83.2 83.2 0 0 1 91.733334-5.333334h1.066666l145.066667 91.733334 96-115.2a161.066667 161.066667 0 0 1-16-69.333334c0-88.533333 70.4-160 157.866667-160s157.866667 71.466667 157.866666 160a161.066667 161.066667 0 0 1-16 70.4l96 115.2 145.066667-91.733333h1.066667a83.2 83.2 0 0 1 91.733333 5.333333c27.733333 20.266667 40.533333 54.4 33.066667 87.466667L912 914.133333a140.8 140.8 0 0 1-48 78.933334 136.533333 136.533333 0 0 1-86.4 30.933333zM86.4 361.6a20.266667 20.266667 0 0 0-11.733333 4.266667 21.333333 21.333333 0 0 0-8.533334 22.4l109.866667 512a76.8 76.8 0 0 0 25.6 42.666666 72.533333 72.533333 0 0 0 45.866667 17.066667h530.133333a72.533333 72.533333 0 0 0 45.866667-17.066667 76.8 76.8 0 0 0 25.6-42.666666l109.866666-512a21.333333 21.333333 0 0 0-8.533333-22.4 19.2 19.2 0 0 0-21.333333-1.066667l-168.533334 105.6a32 32 0 0 1-41.6-6.4L592 311.466667a32 32 0 0 1-5.333333-33.066667l2.133333-5.333333 2.133333-4.266667a97.066667 97.066667 0 0 0 14.933334-52.266667c0-53.333333-41.6-96-93.866667-96s-93.866667 42.666667-93.866667 96a97.066667 97.066667 0 0 0 16 53.333334 32 32 0 0 1 5.333334 16v3.2a32 32 0 0 1-7.466667 22.4L306.133333 464a32 32 0 0 1-41.6 6.4L96 364.8z"V;
		FStringV PathAdd = u8"M904 64c30.9 0 56 25.1 56 56v784c0 30.9-25.1 56-56 56H120c-30.9 0-56-25.1-56-56V120c0-30.9 25.1-56 56-56h784m0-64H120C53.7 0 0 53.7 0 120v784c0 66.3 53.7 120 120 120h784c66.3 0 120-53.7 120-120V120c0-66.3-53.7-120-120-120z M736 480H288c-17.7 0-32 14.3-32 32s14.3 32 32 32h448c17.7 0 32-14.3 32-32s-14.3-32-32-32z M480 288v448c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-17.7-14.3-32-32-32s-32 14.3-32 32z"V;
		FStringV IconBilibili = u8"M1775.84 322.588c6.017 1.003 53.146-9.526 55.151-6.016 3.008 4.512 24.066 155.925 18.55 156.927s-44.62 10.028-44.62 10.028c-3.01-20.556-28.579-147.903-29.08-160.939m75.205-14.54l20.556 162.945c10.529-0.502 53.145-3.51 57.156-4.011-6.017-61.668-16.545-158.934-16.545-158.934-20.055-4.01-41.113-4.01-61.167 0m-40.61 226.117s92.752-23.564 126.344-12.033c17.046 61.668 48.13 407.611 51.139 421.65-21.057 2.506-90.246 8.523-95.761 10.027-4.512-26.071-81.723-403.1-81.723-419.644m343.436-207.566c5.515 1.504 54.65-5.014 55.15-1.504 1.003 12.033 6.017 157.429 0.502 157.93s-44.622 4.011-44.622 4.011c-1.002-20.054-12.032-146.9-11.03-160.437m75.707-4.011l4.01 160.939c10.53 0 52.644 2.507 57.156 2.005-1.002-61.668 0-158.933 0-158.933-20.054-3.51-40.61-5.014-61.166-4.011M2164.9 538.677s94.759-12.534 126.846 2.507c7.02 72.197 6.017 408.614 7.02 422.652-21.56 0-90.247 1.003-95.762 2.005-1.003-26.07-39.608-410.619-38.104-427.164m-220.1-413.627c54.65 278.76 96.263 755.058 97.767 785.641 0 0 43.117 1.003 91.75 4.011-28.578-300.319-63.674-780.127-63.172-795.669-12.033-13.537-126.345 6.017-126.345 6.017m-120.328 659.297c-10.528-78.213-290.29-166.955-447.72-138.377 0 0-19.553-172.47-27.074-339.426-6.518-143.39-1.003-282.77 0.501-305.833-10.528-7.52-123.837 46.627-185.004 69.188 0 0 73.2 309.845 126.345 952.597 0 0 84.73 9.025 230.127-19.052s317.365-115.816 302.825-219.097M1482.541 925.23l-24.567-176.983c6.017-3.008 156.928 53.145 172.972 63.173-2.507 11.03-148.405 113.81-148.405 113.81M610.665 322.588c6.016 1.003 53.144-9.526 55.15-6.016 3.008 4.512 24.066 155.925 18.55 156.927s-44.621 10.028-44.621 10.028c-3.008-20.556-28.578-147.903-29.08-160.939m75.206-14.54l20.556 162.945c10.528-0.502 53.145-3.51 57.155-4.011-6.517-61.668-16.545-158.934-16.545-158.934-20.054-4.01-41.112-4.01-61.166 0m-40.611 226.117s92.753-23.564 126.344-12.033c17.047 61.668 48.132 407.611 51.14 421.65-21.058 2.506-90.246 8.523-95.761 10.027-4.513-26.071-81.723-403.1-81.723-419.644m343.436-207.566c5.515 1.504 54.65-5.014 55.15-1.504 1.003 12.033 6.017 157.429 0.502 157.93s-44.622 4.011-44.622 4.011c-1.003-20.054-11.531-146.9-11.03-160.437m75.706-4.011l4.011 160.939c10.53 0 52.644 2.507 57.156 2.005-1.003-61.668 0-158.933 0-158.933-20.054-3.51-40.61-4.512-61.167-4.011m-64.676 216.089s94.758-12.534 126.846 2.507c7.02 72.197 6.016 408.614 7.02 422.652-21.56 0-90.247 1.003-95.762 2.005-0.501-26.07-39.608-410.619-38.104-427.164m-220.1-413.627c54.65 278.76 96.263 755.058 97.767 785.641 0 0 43.117 1.003 91.75 4.011-28.578-300.319-63.674-780.127-63.172-796.17-12.033-13.036-126.345 6.518-126.345 6.518M659.297 784.347c-10.529-78.213-290.291-166.955-447.72-138.377 0 0-19.554-172.47-27.074-339.426-6.518-143.39-1.003-282.77 0.501-305.833C174.476-6.31 61.167 47.338 0 69.899c0 0 73.2 309.845 126.344 952.597 0 0 84.731 9.025 230.128-19.052s317.365-115.816 302.825-219.097M317.365 925.23l-24.567-176.983c6.017-3.008 156.928 53.145 172.972 63.173-2.507 11.03-148.405 113.81-148.405 113.81"V;
		FStringV IconWeibo = u8"M452 244.7c-52.44-13.08-213.84 34.92-344.76 226.92S33.08 820.7 181.4 894.92c130.92 65.46 388.38 65.46 536.7-30.54 139.68-91.62 178.92-218.22 117.84-288.06-61.14-69.78-104.7-52.32-104.7-61.08-4.38-8.76 39.24-96-4.38-135.3-43.62-39.18-170.22-8.7-209.46 17.52-17.46 13.08-17.46-8.76-13.08-26.22 0-17.4 21.84-104.7-52.32-126.54z m270.48 4.38c-39.24 4.38-43.62 69.84 4.38 65.46s91.62 21.84 69.78 91.62c-8.64 21.84 39.3 52.38 61.2 17.46 26.16-39.3 4.32-117.84-34.92-148.38-43.68-26.16-74.22-30.54-100.44-26.16z m-17.4-139.62c-52.38 8.76-52.38 87.3 4.38 82.92 56.7-4.38 117.78-4.38 165.78 56.7s52.38 135.24 34.92 187.62c-17.46 48 52.32 74.16 69.78 26.16s17.46-183.24-43.62-253.08c-61.08-74.1-139.68-109.02-231.24-100.32zM402.92 489.08C560 476 690.92 550.22 699.62 659.3c8.76 109.02-109.08 209.4-266.16 226.86-157.08 13.14-288-61.08-296.7-170.16s113.4-209.46 266.16-226.92zM560 646.16c-17.4-78.54-100.32-117.84-183.24-96-82.92 26.16-135.3 104.7-117.84 178.86 17.46 78.6 100.38 117.84 183.3 96.06 82.86-21.84 135.24-104.7 117.78-178.92zM376.76 764c-26.22 8.76-56.76-4.38-61.14-30.54-4.32-21.84 13.08-48.06 39.3-56.7 26.16-8.76 56.7 4.32 61.08 30.48 4.38 26.22-13.08 52.38-39.24 56.76z m69.78-78.54c-13.08 0-21.84-4.32-26.22-13.08 0-8.76 4.38-17.46 17.46-21.84 13.14-4.38 21.84 4.38 26.22 13.08s-4.38 21.84-17.46 21.84z"V;
		FStringV IconQQ = u8"M913.048838 641.534781c-20.479961-65.843075-44.031916-121.13897-80.281447-211.557998C838.39938 192.204435 739.583568 0 512.0512 0 281.856437 0 185.191021 196.095627 191.335009 430.079183c-36.351931 90.623828-59.699087 145.510124-80.179047 211.557998C67.636044 781.617715 81.972017 839.678405 92.211998 840.907202c23.039956 2.867195 89.70223-105.4718 89.702229-105.471799 0 62.771081 32.255939 144.486125 102.399806 203.570813-33.791936 10.239981-109.670192 38.195127-92.159825 68.812669 14.540772 24.678353 251.084323 15.76957 319.282593 8.089585 68.30067 7.679985 304.844221 16.588768 319.384993-8.089585 18.022366-30.719942-57.95829-58.470289-92.159825-68.812669 69.939067-59.187088 102.399805-141.004532 102.399806-203.570813 0 0 66.662273 108.338994 89.702229 105.471799 11.366378-1.228798 25.804751-59.391887-17.715166-199.372421z"V;
		FString IconMaximize = u8"M102.399488 204.802048v614.396928a102.399488 102.399488 0 0 0 103.321083 102.399488H1022.970885C1080.109799 921.598464 1126.394368 875.518694 1126.394368 819.198976V204.802048a102.399488 102.399488 0 0 0-103.321083-102.399488H205.822971C148.684057 102.40256 102.399488 148.48233 102.399488 204.802048zM0 204.802048C0 91.650614 92.364338 0.003072 205.720571 0.003072H1022.970885A204.798976 204.798976 0 0 1 1228.793856 204.802048v614.396928c0 113.151434-92.364338 204.798976-205.720571 204.798976H205.822971A204.798976 204.798976 0 0 1 0 819.198976V204.802048z"V;
		FString IconMinimize = u8"M172.096567 595.371826h679.806866V428.628174H172.096567v166.743652z m-44.889373-275.768741h769.585612c35.416628 0 64.132646 28.712949 64.132647 64.132646v256.528538c0 35.418674-28.714995 64.132646-64.132647 64.132646H127.207194c-35.416628 0-64.132646-28.712949-64.132647-64.132646V383.735731c0-35.419697 28.714995-64.132646 64.132647-64.132646z";
		FStringV IconLike = u8"M775.489066 146.93756c-79.003332-20.295232-188.462303-2.578732-263.495206 101.518115-75.030857-104.071264-184.477548-121.756041-263.491113-101.518115C150.449547 172.078147 55.672974 264.135796 64.97892 413.142481 78.512145 629.721145 252.782214 818.584584 498.625388 883.121436c3.40761 0.89744 6.815219 1.326205 10.17064 1.326205 1.081635 0 2.131547-0.180102 3.199878-0.267083 1.068332 0.086981 2.118244 0.267083 3.199878 0.267083 3.355421 0 6.776334-0.428765 10.17064-1.326205C771.210623 818.584584 945.480692 629.708865 959.020056 413.142481 968.332143 264.142959 873.556593 172.078147 775.489066 146.93756zM879.265618 408.161027c-11.256368 180.091658-158.521386 338.332658-367.269711 395.739113-208.748325-57.405431-356.007203-215.634152-367.263571-395.739113-6.464225-103.431697 57.428967-166.850076 123.617435-183.816492 64.940035-16.680914 152.71924 4.591575 204.263174 114.194832 7.287987 15.498996 23.275099 23.987321 39.383986 22.693862 16.111956 1.294482 32.105209-7.194866 39.381939-22.693862 51.543933-109.61042 139.335419-130.843 204.263174-114.194832C821.830511 241.309928 885.729843 304.728306 879.265618 408.161027z"V;
		FStringV IconVideo = u8"M809.368 276.216c-12.436-5.138-26.386-4.167-39.579-4.167H586.582a1882242.655 1882242.655 0 0 0 57.884-43.413c5.45-4.088 9.61-8.111 11.489-14.941 1.774-6.453 0.861-13.49-2.521-19.264-6.295-10.746-23.276-17.166-34.205-8.969l-107.382 80.537-103.267-77.45-4.115-3.086c-10.929-8.197-27.91-1.777-34.205 8.969-3.382 5.774-4.295 12.812-2.52 19.264 1.879 6.83 6.038 10.853 11.489 14.941l57.884 43.413H240.24c-8.351 0-16.814 0.712-24.687 3.66-25.844 9.678-43.706 33.604-43.706 61.583v439.753c0 16.556 6.493 30.993 16.824 43.563 10.503 12.779 26.697 19.129 42.635 21.059 8.576 1.039 17.54 0.381 26.149 0.381h525.998c6.158 0 12.148-0.569 18.267-1.74 28.852-5.52 48.833-33.298 50.063-61.589 0.038-0.554 0.064-1.109 0.064-1.671v-96.725-192.225-140.802-9.948c0.001-27.853-17.299-50.731-42.479-61.133z m-581.807 48.957c-1.135 0.986-1.726 1.479-1.955 1.655l0.097-0.138a23.069 23.069 0 0 1 1.858-1.517z m-1.889 1.546l-0.094 0.13c-0.159 0.119-0.105 0.053 0.094-0.13z m-2.371 3.54c0.572-1.431 1.2-2.699 0 0z m-1.206 2.952c0.109-0.847 0.181-1.233 0 0z m-0.093 446.507c0.588 3.204 0.224 1.658 0 0z m3.72 7.785l0.091 0.118c-0.483-0.393-0.665-0.568-0.091-0.118z m0.106 0.083c0.284 0.224 0.729 0.582 1.331 1.071a30.05 30.05 0 0 1-1.252-0.961l-0.079-0.11z m574.888-4.625c-0.638 1.15-2.134 3.223-2.885 4.297-0.28 0.286-0.56 0.573-0.843 0.856-0.26 0.259-0.474 0.478-0.657 0.669-1.323 0.79-3.566 1.916-4.466 2.424-0.66 0.195-1.325 0.375-1.995 0.537-0.999 0.136-2.376 0.305-3.218 0.305H236.885c-0.725 0-1.412-0.028-2.112-0.063-1.29-0.275-2.557-0.647-3.811-1.058-1.092-0.557-2.139-1.198-3.179-1.846l-0.093-0.061a60.063 60.063 0 0 1-1.91-1.833c-0.25-0.25-0.572-0.608-0.888-0.97a97.002 97.002 0 0 1-0.776-1.223c-0.237-0.38-0.447-0.775-0.662-1.168-0.365-0.834-0.81-1.895-1.014-2.577a26.78 26.78 0 0 1-0.495-1.951 13.684 13.684 0 0 1-0.076-0.848c-0.026-0.492-0.024-0.986-0.024-1.479v-0.889-4.396-18.388-159.408-186.588-57.573-11.822-0.786c0-0.494 0.016-0.979 0.024-1.479 0.003-0.195 0.016-0.423 0.035-0.665 0.263-1.151 0.583-2.289 0.921-3.419 0.029-0.099 0.064-0.206 0.103-0.318 0.381-0.722 0.78-1.435 1.188-2.141 0.181-0.313 0.385-0.611 0.581-0.915 0.356-0.444 0.762-0.936 1.083-1.278a30.758 30.758 0 0 1 1.887-1.813l0.115-0.081c1.031-0.69 2.123-1.281 3.215-1.866l0.359-0.12c1.142-0.384 2.315-0.66 3.489-0.928a41.752 41.752 0 0 1 2.038-0.053h270.373c1.506 0.258 3.044 0.346 4.588 0.279a21.617 21.617 0 0 0 4.588-0.279H786.69c0.697 0 1.891 0.11 2.872 0.209 0.97 0.238 1.93 0.517 2.88 0.827 0.431 0.191 0.873 0.396 1.211 0.577 0.518 0.277 1.02 0.578 1.517 0.888-0.294-0.085 1.289 1.272 2.714 2.568 0.791 1.082 2.197 2.953 2.842 4.056 0.322 0.981 0.604 1.977 0.865 2.975 0.071 0.271 0.144 0.613 0.213 0.972 0.027 0.645 0.041 1.291 0.041 1.932V777.047a63.857 63.857 0 0 1-0.063 1.864c-0.058 0.371-0.122 0.735-0.19 1.037-0.229 1.022-0.547 2.02-0.876 3.013z M629.902 526.826L507.18 455.973l-78.056-45.065a34.546 34.546 0 0 0-6.883-3.022 34.125 34.125 0 0 0-10.782-1.756c-6.282 0-12.217 1.735-17.359 4.731-5.181 2.918-9.676 7.164-12.863 12.604a33.893 33.893 0 0 0-3.548 8.611 34.087 34.087 0 0 0-1.23 9.054v231.838c0 26.637 29.704 43.479 52.665 30.222l122.722-70.854 78.056-45.065c22.707-13.112 22.707-47.336 0-60.445zM446.459 612.34v-81.08-29.502l70.057 40.448 25.71 14.844-70.377 40.632c-8.464 4.884-16.927 9.771-25.39 14.658z"V;
		FStringV IconInsertImage = u8"M975 755.1H853.2V632.9c0-27-21.9-48.9-48.8-48.9s-48.8 21.9-48.8 48.9v122.2H633.9c-26.9 0-48.7 21.9-48.7 48.9s21.8 48.9 48.7 48.9h121.8v122.2c0 27 21.9 48.9 48.8 48.9s48.8-21.9 48.8-48.9V852.9H975c26.9 0 48.8-21.9 48.8-48.9s-21.8-48.9-48.8-48.9zM505.9 881H147c-26.8 0-48.7-22-48.7-48.9V147.7c0-26.9 21.9-48.9 48.7-48.9h682.3c26.8 0 48.7 22 48.7 48.9v347.6c0 27.8 21.8 49.7 48.8 49.7 26.9 0 48.8-21.9 48.8-48.9V98.8C975.6 45 931.7 1 878.1 1H98.3C44.7 1 0.8 45 0.8 98.8V881c0 53.8 43.9 97.8 97.5 97.8h407.6c26.8-0.1 48.5-22 48.5-48.9s-21.7-48.8-48.5-48.9z m113.9-212.2h51.9v-52.1c0-53.1 31.8-98.7 77.3-119v-2.4l-56.9-172.5c-5.1-15.4-16.9-17.9-27.3-4.4L452.2 593.7 405.3 514c-8.3-14.1-24.3-16-35.9-4.3L165.7 715.8c-11.6 11.7-7.2 21.2 8.7 21.2h331.9c22-40.5 64.3-68.2 113.5-68.2z m-229-349.9c0-40.5-32.7-73.3-73.1-73.3-40.4 0-73.1 32.8-73.1 73.3s32.7 73.3 73.1 73.3c40.4 0 73.1-32.8 73.1-73.3z"V;
		FStringV IconBluetooth = u8"M404.384 510.336l194.656-207.52a32 32 0 0 0-2.752-46.4l-220.224-184.896A32.032 32.032 0 0 0 323.456 96v334.048L150.208 258.176a31.968 31.968 0 1 0-45.056 45.44l209.984 208.32-210.784 224.704a32.032 32.032 0 0 0 46.688 43.808l172.416-183.84v360.896a32.064 32.064 0 0 0 32 32 31.936 31.936 0 0 0 23.232-9.984l220.224-232.192a32 32 0 0 0-0.672-44.736l-193.856-192.256z m-16.928-345.664l141.76 119.008-141.76 151.168V164.672z m0 712.608V583.68l143.488 142.336-143.488 151.264zM694.848 341.792a32 32 0 0 0-53.184 35.648 204.8 204.8 0 0 1 34.656 114.432 204.672 204.672 0 0 1-34.624 114.4 31.968 31.968 0 1 0 53.12 35.648 268.512 268.512 0 0 0 45.504-150.048 268.8 268.8 0 0 0-45.472-150.08zM886.528 326.432a441.536 441.536 0 0 0-41.152-77.024 32 32 0 1 0-53.184 35.616 379.648 379.648 0 0 1 64.16 211.744 380.512 380.512 0 0 1-64.16 211.744 32.032 32.032 0 0 0 53.184 35.648 443.328 443.328 0 0 0 74.976-247.36c0-58.88-11.392-116.192-33.824-170.368z"V;
		FStringV IconTest = u8""V;

		UPanelRef MainPanel;
		UPanelRef SecondPanel;
		UButtonRef ButtonA;
		auto OnButtonClick = [&](const FRoutedEventArgs & Args)
			{
				AssertExpr(Args.Sender.IsA<UButtonControl>());
				UButtonControl & Button = StaticCast<UButtonControl>(Args.Sender);
				static_assert(IsStaticPointerConvertibleV<const UButtonControl &, const IObject &>);
				FConsole::WriteLine(u8"Click Button {}, {}"V, Args.Sender.Name, StaticCast<UButtonControl>(Args.Sender).Content);
				//Button.Storyboards[0]->Begin();

				if (Args.Sender.IsA<UButton>())
				{
					if (PopupWindow.Shown)
						PopupWindow.Hide();
					else
						PopupWindow.Show();
				}
			};

		UTextBlockRef TextBlockAA;
		UTextBlockRef TextBlockBB;
		UTextBlockRef TextBlockCC;
		UButtonRef Button0;
		UListViewRef FileList;

		FString ComplexText = 
			u8"♒强烈❤️❤️❤️推荐♒\n✅运行正常✅\n⚡亭亭玉立⚡\n♈恭喜发财♈\n✨新年快乐✨\n🏅大吉大利🏅\n♒今晚吃鸡♒\n"
			//u8"✋✌️☝️✊✍️⛑️☂️☎♻♿⚠⛔❄️☘️☁️⛅⛈️☂️☔⚡❄️\n"
			//u8"☃️⛄☄️👩🌾🎄🍅🛺🚕🚎🚎🚜💗\n"
			//u8"☕⛷️⛹️⛹️♂️⛹️♀️⚽⚾⛳\n"
			//u8"⛰️⛪⛩⛲⛺⛽⚓⛵⛴️✈️⛱️\n"
			u8"ดีดีดีีีดีดีlālálǎlàوالعدل والسلام靐𰻞𰻞𰻞 في العالم"V;

		Window.Content = ScrollViewer(StackPanel(
			{
#if 1
				TextBlock(FText(ComplexText), { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { FDimen::Percent50, FDimen::Auto } } }),
				TextBlockAA = TextBlock(u8"可爱的文字 in TextBlock AA 靐𰻞"T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { FDimen::Percent90, FDimen::Auto } } }),
				TextBlockBB = TextBlock(u8"可爱的文字 in TextBlock BB"T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { FDimen::Percent50, FDimen::Auto } } }),
				TextBlockCC = TextBlock(u8"可爱的文字 in TextBlock CC"T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { FDimen::Percent50, FDimen::Auto } } }),
#endif
				Button0 = Button(u8"奇怪的按钮"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center } }),
				//RadioButton(u8"单选按钮 AAAA"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near }, { URadioButton::GroupNameProperty(), u8"AAAA"N } }),
				//RadioButton(u8"单选按钮 BBBB"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near }, { URadioButton::GroupNameProperty(), u8"AAAA"N } }),
				//RadioButton(u8"单选按钮 CCCC"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near }, { URadioButton::GroupNameProperty(), u8"AAAA"N } }),

				//RadioButton(u8"单选按钮 XXXX"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { URadioButton::GroupNameProperty(), u8"XXXX"N } }),
				//RadioButton(u8"单选按钮 YYYY"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { URadioButton::GroupNameProperty(), u8"XXXX"N } }),
				//RadioButton(u8"单选按钮 ZZZZ"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { URadioButton::GroupNameProperty(), u8"XXXX"N } }),

			ListBox(
				{
					u8"ListBox 第一个"T,
					TextBlock(u8"ListBox 中可爱的文字 in TextBlock AA"T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near } }),
					u8"第二个"T,
					RadioButton(u8"ListBox 单选按钮 KKKK"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { URadioButton::GroupNameProperty(), u8"XXXX"N } }),
					u8"第3333333333个"T,
					Image(u8"../../Data/AryaStark_256x256.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { 512, 512 } } }),
					u8"第444444444个"T,
					u8"第5555555个"T,
					u8"第66666666666666个"T,
					u8"第777777777777777777个一二三四五六七八九十"T,
					u8"第8888个"T,
				},
				{ { UElement::SizeProperty(), FDimen2 { FDimen::Percent50, FDimen::Auto } } }
				//{ { UElement::SizeProperty(), FDimen2 { 512, 512 } } }
			),
#if 1
			FileList = ListView(
				{
				},
				{ { UElement::SizeProperty(), FDimen2 { FDimen::Percent75, 512 } } }
				),
			ScrollViewer(Image(u8"../../Data/AryaStark.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }}),
				{ { UElement::SizeProperty(), FDimen2 { 512, 512} } }),
			ListBox(
				{
					u8"第一个"T,
					TextBlock(u8"ListControl 中可爱的文字 in TextBlock AA"T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near } }),
					u8"第二个"T,
					RadioButton(u8"ListBox 单选按钮 KKKK"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { URadioButton::GroupNameProperty(), u8"XXXX"N } }),
					u8"第3333333333个"T,
					Image(u8"../../Data/AryaStark_256x256.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { 512, 512 } } }),
					u8"第444444444个"T,
					u8"第5555555个"T,
					u8"第66666666666666个"T,
					u8"第777777777777777777个"T,
					u8"第8888个"T,
				},
				{
					{ UElement::SizeProperty(), FDimen2 { FDimen::Percent90, 600 } },
				}),
				//ListControl(
				//	{
				//		u8"第一个"T,
				//		TextBlock(u8"ListControl 中可爱的文字 in TextBlock AA"T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near } }),
				//		u8"第二个"T,
				//		RadioButton(u8"单选按钮 KKKK"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { URadioButton::GroupNameProperty(), u8"XXXX"N } }),
				//		u8"第3333333333个"T,
				//		Image(D2DDevice.CreateImage(u8"../../Data/AryaStark_256x256.jpg"V), { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Stretch }, {UElement::SizeProperty(), FDimen2 {512, 512}} }),
				//	},
				//	{
				//		{ UElement::SizeProperty(), FDimen2 { FDimen::Percent50, FDimen::Auto } },
				//	}),
			CheckBox(u8"复选框 AAAA"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near } }),
			CheckBox(u8"复选框 BBBB"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near } }),
			CheckBox(u8"复选框 CCCC"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near } }),
			CheckBox(u8"复选框 XXXX"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UToggleButton::IsThreeStateProperty(), true } }),
			CheckBox(u8"复选框 YYYY"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UToggleButton::IsThreeStateProperty(), true } }),
			CheckBox(u8"复选框 ZZZZ"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UToggleButton::IsThreeStateProperty(), true } }),

			TextBlock(u8"可爱的文字 in TextBlock BB"T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Far } }),
			Path(PathGithub, { 0.5f, { } },
				{
					{ UElement::HorizontalAlignmentProperty(), EElementAlignment::Center },
				{ UPath::FillProperty(), Brushs::AntiqueWhite },
				{ UPath::StrokeProperty(), Brushs::CadetBlue },
				{ UPath::StrokeThicknessProperty(), 4 },
				}),
				TextBlock(u8"可爱的文字 in TextBlock CC"T),
				TextBlock(u8"可爱的文字 in TextBlock DD"T),
				MainPanel = WrapPanel(
					{
						ButtonA = Button(u8"可爱的按钮A"T, OnButtonClick),
						ButtonA = Button(u8"可爱的按钮B"T, OnButtonClick),
						Button(u8"可爱的按钮C"T, OnButtonClick),
						Button(u8"可爱的按钮D"T, OnButtonClick),
						Button(u8"可爱的按钮E"T, OnButtonClick),
						Button(u8"可爱的按钮F"T, OnButtonClick),
						Button(u8"可爱的按钮G"T, OnButtonClick),
						Button(u8"可爱的按钮H"T, OnButtonClick),
						Button(u8"可爱的按钮I"T, OnButtonClick),
						Button(u8"可爱的按钮J"T, OnButtonClick),
						Button(u8"可爱的按钮K"T, OnButtonClick),
						Button(u8"可爱的按钮L"T, OnButtonClick),
					}, 
				{
					{ UElement::SizeProperty(), FDimen2 { FDimen::Percent100, FDimen::Auto } },
					{ UWrapPanel::OrientationProperty(), EOrientation::Horizontal },
					{ UWrapPanel::ElementAlignmentProperty(), EElementAlignment::Center },
				}
				),
			Image(u8"../../Data/Cat.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center } }),
			TextBlock(u8"可爱的文字 in TextBlock EE"T),
			TextBlock(u8"可爱的文字 in TextBlock FF"T),
			TextBlock(u8"可爱的文字 in TextBlock GG"T),
			TextBlock(u8"可爱的文字 in TextBlock HH"T),
			GridPanel(
				{
					Button(u8"可爱的按钮M"T, OnButtonClick, { { UGridPanel::GridLocationProperty(), Vec2U { 0, 0 } } }),
					//Button(u8"可爱的按钮N"T, OnButtonClick(UGridPanel::GridLocationProperty(), Vec2U { 1, 0 })),
				Button(u8"可爱的按钮OOOO"T, OnButtonClick, { { UGridPanel::GridLocationProperty(), Vec2U { 2, 0 } }, { UGridPanel::HorizontalAlignmentProperty(), EElementAlignment::Center } }),

				Button(u8"可爱的按钮P"T, OnButtonClick, { { UGridPanel::GridLocationProperty(), Vec2U { 0, 1 } } }),
				Button(u8"可爱的按钮Q"T, OnButtonClick, { { UGridPanel::GridLocationProperty(), Vec2U { 1, 1 } } }),
				Button(u8"可爱的按钮R"T, OnButtonClick, { { UGridPanel::GridLocationProperty(), Vec2U { 2, 1 } }, { UGridPanel::HorizontalAlignmentProperty(), EElementAlignment::Center } }),
				},
				{
					//{ UElement::HorizontalAlignmentProperty(), EElementAlignment::Center },
					//{ UElement::SizeProperty(), FDimen2 { FDimen::Percent100, FDimen::Auto } }
				},
				{ FDimen::Auto, FDimen::Auto },
				{ FDimen::Percent100, FDimen::Auto, FDimen::Auto }
				)
#endif
			},
		{
			//{ UElement::SizeProperty(), FDimen2 { FDimen::Percent100, FDimen::Auto } },
			{ UStackPanel::OrientationProperty(), EOrientation::Vertical },
			//{ UPanel::ElementAlignmentProperty(), EElementAlignment::Center },
		}),
			{
				{ UElement::SizeProperty(), FDimen2 { FDimen::Percent100, FDimen::Percent100 } }
			});

	//ButtonA->ClickMode = EClickMode::Press;
		//MainWindow.GroundingFill = Brushs::Black;
		//MainWindow.Content = u8"大大的笑话"T;

		TextBlockAA->ContextMenu = u8"线程 31840 已退出，返回值为 0 (0x0)。"T;
		TextBlockAA->HitInside = EHitResult::Inside;
		//TextBlockBB->ContextMenu = u8"东西都在哪儿"T;
		TextBlockBB->HitInside = EHitResult::Inside;
		TextBlockBB->ContextMenu = ListBox(
			{
				u8"第一个"T,
				TextBlock(u8"ListControl 中可爱的文字 in TextBlock AA"T, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Near } }),
				u8"第二个"T,
				RadioButton(u8"单选按钮 KKKK"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { URadioButton::GroupNameProperty(), u8"XXXX"N } }),
				u8"第3333333333个"T,
				Image(u8"../../Data/AryaStark_256x256.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { 512, 512 } } }),
				u8"第444444444个"T,
				u8"第5555555个"T,
				u8"第66666666666666个"T,
				u8"第777777777777777777个一二三四五六七八九十"T,
				u8"第8888个"T,
			}
			//{ { UElement::SizeProperty(), FDimen2 { FDimen::Percent50, FDimen::Auto } } }
			//{ { UElement::SizeProperty(), FDimen2 { 512, 512 } } }
		);

		UMenuRef MenuC = Menu(
			{
				MenuItem(u8"C.测试一下"T, [](const auto & Args)
					{
						LogInfo(u8"我要测试一下"V);
					}, Image(u8"../../Data/AryaStark_256x256.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { 64, 64 } } })),
					u8"C.不测试也行"T,
					MenuItem(u8"C.这里有子菜单"T, nullptr,
						Menu({
							u8"D.还可以"T,
							u8"D.测试一下"T,
							Image(u8"../../Data/AryaStark_256x256.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { 128, 128 } } }),
							u8"D.没了"T,
							})),
							RadioButton(u8"C.单选按钮 VVV"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { URadioButton::GroupNameProperty(), u8"VVV"N } }),
							u8"C.这里隔开下"T,
							Image(u8"../../Data/AryaStark_256x256.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { 128, 128} } }),
			});

		TextBlockCC->HitInside = EHitResult::Inside;
		TextBlockCC->ContextMenu = Menu(
			{
				MenuItem(u8"A.测试一下"T, [](const auto & Args)
					{
						LogInfo(u8"我要测试一下"V);
					}, Image(u8"../../Data/AryaStark_256x256.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { 64, 64 } } })),
					u8"A.不测试也行"T,
					MenuItem(u8"A.这里有子菜单"T, nullptr,
						Menu ({
							u8"B.还可以"T,
							u8"B.测试一下"T,
							Image(u8"../../Data/AryaStark_256x256.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { 128, 128} } }),
							MenuItem(u8"B.没了"T, nullptr, MenuC)
							} )),
					RadioButton(u8"A.单选按钮 VVV"T, OnButtonClick, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { URadioButton::GroupNameProperty(), u8"VVV"N } }),
					u8"A.这里隔开下"T,
					Image(u8"../../Data/AryaStark_256x256.jpg"V, { { UElement::HorizontalAlignmentProperty(), EElementAlignment::Center }, { UElement::SizeProperty(), FDimen2 { 64, 64} } }),
			});

		if (FileList)
		{
			FileList->ContextMenu = u8"我看看是什么东西"T;
			FileList->Columns =
			{
				{ FFileInfo::FileIconProperty(), u8"Icon"T },
				{ FFileInfo::FileNameProperty(), u8"File Name"T },
			{
				{
					FFileInfo::FileSizeProperty(), [](uint64 FileSize)
				{
					if (FileSize < 1024)
						return Format(u8"{}B"V, FileSize);
					else if (FileSize < 1024 * 1024)
						return Format(u8"{}KB"V, FileSize >> 10);
					else if (FileSize < 1024 * 1024 * 1024)
						return Format(u8"{}MB"V, FileSize >> 20);
					else
						return Format(u8"{}GB"V, FileSize >> 30);
				},
				},
				u8"File Size"T,
			},
				{ FFileInfo::FilePathProperty(), u8"File Path"T }
			};

			//TList<FFileInfoRef> FileInfos = FFileInfo::EnumPath(u8"C:/Windows/System32/"V);
			//TList<FFileInfoRef> FileInfos = FFileInfo::EnumPath(u8"C:/Windows/System/Speech"V);
			TList<FFileInfoRef> FileInfos = FFileInfo::EnumPath(u8"C:/Windows/System/"V);
			for (FFileInfoRef FileInfo : FileInfos)
			{
				FileInfo->FileIcon = FFileInfo::GetFileIcon(FileInfo->FilePath);
				FileList->Items.AddItem(FileInfo);
			}

			FileList->OnQueryItemContextMenu += [](FListViewQueryItemContextMenuEventArgs & Args)
				{
					FFileInfoRef FileInfo = Args.ListViewItem.Content.Get<FFileInfoRef>();
					if (!FileInfo)
						return;

					Args.Menu = Menu({
						Format(u8"文件 {}"V, FileInfo->FileName),
						MenuItem(u8"在资源管理器中打开(&O)"T, [FileInfo](const FRoutedEventArgs & Args)
							{
								//FWString FilePathW = FEncoding::ToWide(FileInfo->FilePath);
								FWString CommandLineParameters = FEncoding::ToWide(Format(u8"/select,\"{}\""V, FileInfo->FilePath));
								CommandLineParameters.Slice(1).Replace(L'/', L'\\');

								SHELLEXECUTEINFOW ShellExecuteInfoW = { };

								ShellExecuteInfoW.cbSize = sizeof(ShellExecuteInfoW);
								ShellExecuteInfoW.lpFile = L"explorer.exe";
								ShellExecuteInfoW.nShow = SW_SHOW;
								ShellExecuteInfoW.fMask = SEE_MASK_DEFAULT;
								ShellExecuteInfoW.lpParameters = CommandLineParameters.Data;
								ShellExecuteInfoW.lpVerb = L"open";

								ShellExecuteExW(&ShellExecuteInfoW);
							}),
						MenuItem(u8"属性(&O)"T, [F=FileInfo](const FRoutedEventArgs & Args)
							{
								//SHOpenPropSheetW()

								FWString FilePathW = FEncoding::ToWide(F->FilePath);
								SHELLEXECUTEINFOW ShellExecuteInfoW = { };

								ShellExecuteInfoW.cbSize = sizeof(ShellExecuteInfoW);
								ShellExecuteInfoW.lpFile = FilePathW.Data;
								ShellExecuteInfoW.nShow = SW_SHOW;
								ShellExecuteInfoW.fMask = SEE_MASK_INVOKEIDLIST;
								ShellExecuteInfoW.lpVerb = L"properties";

								ShellExecuteExW(&ShellExecuteInfoW);
							})
						});
				};
		}
}
